package net.hn.hnms.biz.project.service;

import net.hn.hnms.biz.project.domain.LegalPerson;
import net.hn.hnms.biz.project.request.ProjectInfoReq;
import net.hn.hnms.biz.project.vo.ProjectInfoVo;
import net.hn.hnms.biz.project.vo.SupplierInfoVo;
import net.hn.hnms.sys.common.core.domain.ResponsePage;
import net.hn.hnms.sys.common.mybatis.core.page.PageQuery;

import java.util.List;

public interface ProjectInfoService {
    /**
     *
     * @param projectInfoReq
     * 列表
     */
    ResponsePage<ProjectInfoVo> selectPageList(ProjectInfoReq projectInfoReq, PageQuery pageQuery);

    /**
     * 新增
     * @param projectInfoReq
     * @return
     */
    int insert(ProjectInfoReq projectInfoReq);
    /**
     * 删除项目信息
     * @param idList
     */
    void updateDeleteByIds(List<String> idList);
    /**
     * 单个更新 根据id主键 更新项目信息
     * @param projectInfoReq
     */
    void updateById(ProjectInfoReq projectInfoReq);
    /**
     *
     * @param id
     * 通过主键id 查询详情
     */
    ProjectInfoVo selectDetailById(String id);

    /**
     *
     * @param projectInfoReq
     * 列表
     */
    List<ProjectInfoVo> getProjectList(ProjectInfoReq projectInfoReq);


    List<ProjectInfoVo> getProjectListByType(String projectType);


    /**
     *
     * @param projectInfoReq
     * 列表
     */
    List<LegalPerson> getLegalPerson(ProjectInfoReq projectInfoReq);

    /**
     *
     * @param projectInfoReq
     * 列表
     */
    List<SupplierInfoVo> getSupplierInfo(ProjectInfoReq projectInfoReq);
}
